In conventional client-server mechanisms, there is a widespread use of mechanisms based on P2P (peer-to-peer) processes for resolving problems of bottlenecking at the server. A P2P mechanism is a technology that allows a peer to not only receive data from another peer but also share and transmit data to other peers simultaneously, allowing the peer to function as both a server and a client.
In the case of a conventional P2P mechanism, each peer has a unique ID for a logic space, based on its position and space within an overlay, and each peer stores a routing table that includes information regarding neighboring peers and connections that should be made. By using the routing table, a peer can transfer query messages to the next peer in order to find the peer that has the information that is ultimately needed. These overlays are self-organized and self-stabilizing and are designed as major targets for sharing data.
However, the conventional P2P mechanism does not consider the scenario that a connection which contributes to a peer constructing an overlay requires a considerable amount of resources from the peer and that there is a significant time delay required for establishing a connection between two peers.